Swiping functions for messaging applications

ABSTRACT

This application relates to performing organizational tasks using a variety of physical operations in a message application. The physical operations can include swiping actions performed by the user of the message application. By performing certain types of swipes on a user interface of the message application, the user can more readily organize messages stored by the message application. The types of swipes can include full swipes, which can execute one or more functions on a message, and partial swipes, which can open up a menu that includes multiple buttons for executing various operations on the message being swiped. Additionally, the direction of the swipe can also determine the functions and operations to be performed on the messag2018_02_13_Pe being swiped.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.14/292,262, filed May 30, 2014, entitled “SWIPING FUNCTIONS FORMESSAGING APPLICATIONS.” The entire content of which is herebyincorporated by reference.

FIELD

The described embodiments relate generally to electronic messageapplications. More particularly, the present embodiments relate to usinga variety of physical actions to operate an electronic messageapplication.

BACKGROUND

Modern computing devices have become one of the most popular tools forthe world to communicate. Devices such as mobile phones have made iteasy to talk with someone almost instantly with the click of a fewbuttons. The simplicity of email and text messaging has madecommunication between people even more instant. The popularity ofvarious messaging services has caused a large flux of data betweencomputing devices all over the world. In many cases, a user of acomputing device can receive more messages than the user would prefer,causing the user much frustration when using the computing device.Various messaging services include folders in which to organize thenumerous messages the user receives at their messaging account, however,such folders cause the user to take additional steps to organize all themessages the user receives. Moreover, even though the number of folderscan often be configurable, the steps to move messages into folders andbetween folders typically remain the same. The problem of organizingmessages is in many ways exacerbated when the messaging service enablesthe user to include multiple messaging accounts into a single interface,requiring the user to manage an even greater number of messages.

Once the user has received a message on a particular computing device,the user must typically open the message in order to be presented with amenu of options for moving or otherwise organizing the message. In somecases, the option that the user may be looking for is not included onthe menu and therefore the user must enter one or more other menus inorder to find the menu option the user is looking for. Even thoughparticular menu options may provide a useful function, the means forreaching such menu options can spoil any benefits received from usingthe menu options. Moreover, when the menu option is used repeatedly, thesetbacks incurred from navigating to the menu option can outweigh theutility of the menu option. In situations where a user wishes to performmultiple operations on a single message, the user may be even moreburdened by a messaging service that forces the user to open and closemultiple menus to perform minor organizational tasks on the message.Overall, although messaging services may be designed to make the usermore efficient, executing the messaging service to be efficient may befutile at times.

SUMMARY

This paper describes various embodiments that relate to operating andcontrolling a message application using various physical actionsperformed at a user interface. In some embodiments, a method forcontrolling a message application is set forth. The method includesdetermining that a message, from a list of applications, is beingswiped, and determining a starting point of the swipe. The method canfurther include a step of determining whether the swipe was performed ina first direction or a second direction from the starting point.Additionally, the method can include, when an end point of the swipecauses a portion of the message, perpendicular to the direction of theswipe, to be between an option threshold and a function threshold,causing a user interface to display a first button and a second button.The first button can be capable of initiating a first action that isconfigurable by a user of the message application, and the second buttoncan be capable of initiating a second action that is restricted frombeing configured by the user.

In other embodiments, a machine-readable non-transitory storage mediumis set forth. The storage medium can store instructions that, whenexecuted by a processor included in a computing device, cause thecomputing device to carry out steps that include determining that amessage is being swiped across a user interface of the computing device.Additionally, the steps can include determining a swipe directionassociated with the message being swiped, and determining a swipedistance corresponding to the distance a message has been moved acrossthe user interface. The steps can further include, when the swipedirection is in a first direction and the swipe distance satisfies afunction threshold: performing a first function associated with thefirst direction, and causing the message to be removed from the userinterface. Moreover, the steps can include, when the swipe direction isin a second direction that is different than the first direction and theswipe distance satisfies function threshold: performing a secondfunction associated with the second direction, and causing the messageto return to an original position on the user interface.

In yet other embodiments, a device is set forth. The device can includea processor, and a memory storing instructions that when executed by theprocessor cause the processor to perform the steps of: determining thata swipe is occurring across a user interface of the device, while theuser interface is displaying a list of messages, and determining that amessage from the list of messages that is being swiped. The steps canfurther include, when a distance of the swipe satisfies an optionthreshold, causing a plurality of option buttons to be displayed on theuser interface, wherein the plurality of option buttons correspond tooperations that can be performed on the message. Additionally, the stepscan include, when the distance of the swipe satisfies a functionthreshold: causing the plurality of option buttons to be removed fromthe user interface, and performing a function on the message.

Other aspects and advantages of the invention will become apparent fromthe following detailed description taken in conjunction with theaccompanying drawings which illustrate, by way of example, theprinciples of the described embodiments.

BRIEF DESCRIPTION OF THE DRAWINGS

The disclosure will be readily understood by the following detaileddescription in conjunction with the accompanying drawings, wherein likereference numerals designate like structural elements.

FIG. 1 illustrates a diagram of a mobile device having a messaginginterface for displaying and organizing messages.

FIG. 2 illustrates a system for operating the messaging interface on themobile device according to some embodiments discussed herein.

FIGS. 3A-3D illustrate multiple diagrams of the various operations ofthe right swipe that can occur on the message interface of the mobiledevice.

FIG. 4 illustrates a method for operating the right swipe according tosome embodiments discussed herein.

FIGS. 5A-5D illustrate multiple diagrams of the various operations ofthe left swipe that can occur on the message interface on the mobiledevice.

FIG. 6 illustrates a method for operating the message application afterthe user has swiped the message to a position where the user is providedwith operation choices, as further discussed herein.

FIG. 7 illustrates a method for displaying a status of a swipe, asfurther discussed herein.

FIG. 8 is a block diagram of a computing device that can represent thecomponents of the mobile device.

DETAILED DESCRIPTION

Representative applications of methods and apparatus according to thepresent application are described in this section. These examples arebeing provided solely to add context and aid in the understanding of thedescribed embodiments. It will thus be apparent to one skilled in theart that the described embodiments may be practiced without some or allof these specific details. In other instances, well known process stepshave not been described in detail in order to avoid unnecessarilyobscuring the described embodiments. Other applications are possible,such that the following examples should not be taken as limiting.

In the following detailed description, references are made to theaccompanying drawings, which form a part of the description and in whichare shown, by way of illustration, specific embodiments in accordancewith the described embodiments. Although these embodiments are describedin sufficient detail to enable one skilled in the art to practice thedescribed embodiments, it is understood that these examples are notlimiting; such that other embodiments may be used, and changes may bemade without departing from the spirit and scope of the describedembodiments.

The embodiments discussed herein relate to performing organizationaltasks on electronic messages in a message application. Theorganizational tasks can be activated using a variety of physicaloperations at a user interface of a mobile device. The physicaloperations can include swiping operations in which a user moves theirfinger, or other suitable object, across the user interface and amessage being displayed on the user interface. The swipe can initiate orcomplete an operation such as deleting a message, moving a message,marking a message as unread, copying a message to another folder, or anyother suitable operation related to organizing electronic messages. Thetype of swipe can determine the operation that is to be performed on agiven message. In some embodiments, a partial right swipe and a partialleft swipe can reveal multiple buttons for a user to choose from. Thebuttons that are exposed can be different for the partial right swipeand the partial left swipe. For example, the buttons that are exposedduring a partial right swipe can be an archive button and a trashbutton, while the buttons exposed during a partial left swipe can be amark as unread button, a copy to folder button, and a more button forseeing other operation choices not listed. The various swipes,functions, and/or buttons resulting from the different swipes can beconfigurable by a user (e.g., both left and right swipes). Additionally,in some embodiments, the buttons exposed during a partial right swipecan be configurable by a user while the buttons exposed during a partialleft swipe can be non-configurable, or vice a versa. Otherorganizational tasks can be executed by performing a full right swipe ora full left swipe. Similar to the aforementioned buttons, theorganizational task executed by the full right swipe can be configuredby the user while the full left swipe can be non-configurable, or viceversa.

Thresholds can be established for differentiating between whatconstitutes a partial swipe and a full swipe. The thresholds can beconfigurable by a user, or non-configurable by a user in someembodiments. Animations or images can be associated with each thresholdin order to put the user on notice of when they have or have notsatisfied a threshold associated with a particular type of swipe, or aparticular type of organizational task. Moreover, after a particularthreshold is satisfied during a swipe, the message can remain in ashifted position, adjacent to one or more buttons, until the userpresses a button or otherwise provides an indication of an operation toperform or not perform at the mobile device. For example, the user cantap the shifted message to not perform a function, continue swiping toexecute a function associated with a particular full swipe, or press abutton adjacent to the shifted message. When the user has multiplemessage accounts, each message account can have different settingsrelated to swipe procedures. For example, the full right swipe in onemessage account can be a mark as unread operation, while the full rightswipe in another message account can be an archive operation.

These and other embodiments are discussed below with reference to FIGS.1-8; however, those skilled in the art will readily appreciate that thedetailed description given herein with respect to these figures is forexplanatory purposes only and should not be construed as limiting.

FIG. 1 illustrates a diagram 100 of a mobile device 110 having amessaging interface 112 for displaying and organizing messages 102.Specifically, FIG. 1 illustrates the messaging interface 112 havingmultiple organizational functions that can be performed and revealed byperforming a swiping motion against the messaging interface 112. A userof the mobile device 110, by placing a finger, or any other suitableinstrument, against the messaging interface 112 and sliding the fingeracross the messaging interface 112 can perform the swiping motion. Aright swipe 114 can be performed and cause a right function to beperformed that is different than a left function that a left swipe 116performs, as further discussed herein. The right swipe 114 can alsoreveal a right swipe option 104, which the user can press in order toperform a function associated with the right swipe option 104. The leftswipe 116 can also reveal left swipe options, and specifically the leftswipe 116 can reveal multiple configurable options 106 and 107, and anon-configurable option 108. The configurable options 106 and 107 can bemodified by the user, a third party, or the mobile device 110manufacturer, and the non-configurable option 108 can benon-configurable. Both the left swipe 116 and the right swipe 114 canreveal one or more swipe options that can include one or moreconfigurable, or non-configurable options, or any combination thereof.Additionally, left swipes 116 and right swipes 114 can each be performedin isolation or concurrently. For example, the user can use two fingersto swipe two messages concurrently. One message can receive a left swipe116 and the other can receive a right swipe 114. Both the left swipe 116and right swipe 114 can be performed to accomplish the right functionand the left function concurrently. These and other embodiments arediscussed further herein.

FIG. 2 illustrates a system 200 for operating the messaging interface112 on the mobile device 110 according to some embodiments discussedherein. The mobile device 110 can include a display 112 that is used totransmit touch-related data to and from a touch system 204. The touchsystem 204 interprets the touch-related data in order to determine whatoperations the user is intending to perform, and thereafter provide atouch signal indicative of the operation to an operating system 206. Thetouch signal can include the direction the user is swiping across themessaging interface 112, the speed at which the swipe is occurring, thelength of time the swipe was accomplished in, coordinates of the swipethat can include a starting coordinate and an ending coordinate,velocity and acceleration of the swipe, coordinates of a tap on themessaging interface 112, the number of taps, the frequency of the tapswithin a particular period of time, and any other suitable data relatedto touching a touch-screen display. The operating system 206 can use thetouch signals to operate a message application 208. The messageapplication 208 can be an email application, text message service, orany suitable program for receiving or managing electronic messages. Themessage application 208 can include one or more message folders 210 thatcan store one or more messages 212. The messages 212 can be moved to andfrom various folders, or deleted, based on the touch signal, as furtherdiscussed herein.

FIGS. 3A-3D illustrate multiple diagrams of the various operations ofthe right swipe 114 of the message interface 112 on the mobile device110. Specifically, FIGS. 3A-3D illustrate embodiments of the messageinterface 112 including an option threshold 302 and a function threshold304. The option threshold 302 and function threshold 304 can be valuesstored by the operating system 206, touch system 204, or messageapplication 208, in order to coordinate various operations of themessage interface 112 with the message application 208. The thresholdscan be distances between coordinates or points on the message interface112. For example, the option threshold 302 can be a distance valuecorresponding to the distance between a side of the message interface112 and the option threshold 302; and the option threshold 302 can besatisfied when a distance of a swipe is equal to or greater than thedistance value. Additionally, in some embodiments, the option threshold302 and function threshold 304 can be met if the swipe is longer than afirst predetermined number of pixels and the swipe ends within a secondpredetermined number of pixels from an edge of the message interface112. In this way, if the swipe is not longer than the firstpredetermined threshold but the swipe ends within the secondpredetermined threshold, no resulting operation will result (unless theswipe in some way satisfies another predetermined set of thresholdsassociated with an operation). In FIG. 3A, a left status bar 306 isprovided to indicate that an operation can be performed when the rightswipe 114 pulls or moves a message 102 such that the left side of themessage 102 moves toward the option threshold 302. When the left side ofthe message 102 does not reach or satisfy the option threshold 302during a right swipe 114, and the user terminates the right swipe 114(e.g., stops touching the message interface 112), the left side of themessage 102 can return to a starting position or original position atthe left side of the message interface 112. As a result, no operation isperformed on the message 102 when the right swipe 114 does not cause theleft side of the message 102 to reach, exceed, or otherwise satisfy theoption threshold 302. The left status bar 306 will be displayed duringthe course of the right swipe 114 until the left side of the message 102reaches, exceeds, or otherwise satisfies the option threshold 302. Theleft status bar 306 can be a color, pattern, or animation, or any othersuitable signal indicating that an operation or function will not beperformed.

In FIG. 3B, the right swipe 114 is illustrates as causing the left sideof the message 102 to extend beyond the option threshold 302 but notbeyond the function threshold 304. Going beyond a particular thresholdcan refer to when a portion of a message 102 (e.g., the left side)starts at one side of the threshold (e.g., the left side) and is eithercaused to reach the threshold or move past the threshold (e.g., move tothe right side of the threshold). When the left side of the messageextends beyond the option threshold 302, the option status bar 308 canappear indicating that if the user releases their finger or instrumentfrom the message interface 112 the option status bar 308 will remain anddisplay an option button 310, illustrated in FIG. 3C, for the user toselect. The option button 310 can be predetermined by the mobile device110 manufacturer or can be configurable by the user in some embodiments.For example, the option button 310 can be configure to archive a message102, mark a message 102 as unread, move a message 102 to a specifiedfolder, report a message 102 as spam, forward a message 102 to aspecific person, mark a message 102 as important, or perform any othersuitable operation related to message management.

FIG. 3D illustrates the left side of a message 102 being moved past thefunction threshold 304. When the left side of the message 102 is movedpast the function threshold 304, a function status bar 312 is displayedat the message interface 112 indicating that the user has moved themessage 102 far enough across the message interface 112 to enable afunction to be performed on the message 102. The function performed canbe any of the operations or functions described herein, or any othersuitable function related to message management. For example, moving theleft side of the message 102 to a position at or past the functionthreshold 304 can cause the message to be archived, marked as unread, ormoved to a different folder according to some embodiments. Moreover, thefunction that is performed can be configurable or non-configurable by auser in some embodiments.

FIG. 4 illustrates a method 400 for operating the right swipe 114according to some embodiments discussed herein. Specifically, FIG. 4illustrates a method 400 for operating the message application 208 usingthe right swipe 114 operation. At step 402, the message application 208can receive a touch signal from the touch system 204. The touch signalcan originate at a display device of the mobile device 110 andthereafter be converted to a touch signal that is usable by the messageapplication 208. At step 404, the message application 208 can determinea length between a start coordinate and end coordinate associated withthe touch signal. In some embodiments, a velocity and accelerationassociated with the touch signal can be measured, and thereafter thevelocity and/or acceleration can be used by the message application 208to determine an operation and/or function to perform according to thevelocity or acceleration. The function can be performed when the swipebeing performed reaches a predetermined velocity or acceleration in someembodiments. Moreover, the operation and/or function to be performed canbe determined based on the end coordinate of the touch signal and anedge of the message interface 112. In some embodiments, the operationand/or function to be performed can be determined based on a combinationof length, speed, and/or the end coordinate of the touch signal relativeto the edge of the message interface 112. At step 406, the messageapplication 208 can determine a message 102 that is associated with thestart coordinate and move the message 102 according to the touch signal.The message 102 associated with the start coordinate can be the message102 that the user intends to modify or otherwise perform an operationon. Moving the message 102 can involve causing the display to providethe appearance that the message 102 is being shifted across the screenat a velocity that is proportional to the velocity associated with thetouch signal or movement of the finger or other instrument of the user.

The method 400 can include a step 408 where the message application 208determines whether the length, previously determined at step 404, isgreater than or equal to a function threshold. If the length is greaterthan or equal to a function threshold, the message application 208 cancause a function to be performed on the message 410, as furtherdiscussed herein. If the length is not greater than or equal to thefunction threshold, the message application 208 can proceed to step 412where the message application 208 determines whether the length isgreater than or equal to an option threshold. If the length is greaterthan or equal to the option threshold, the message application can, atstep 414, cause an option button to be displayed at the user interface.The option button can appear adjacent to a modified message 102, whichcan appear shifted to the right in order to allow the option to beadequately displayed. Otherwise the message application 208 can proceedto step 416 where the message application 208 can cause the message 102to return to an original position. The original position can be theposition that the user initially views a message 102 prior to initiatingany operation on the message 102.

FIGS. 5A-5D illustrate multiple diagrams of the various operations ofthe left swipe 116 of the message interface 112 on the mobile device110. The diagrams of FIGS. 5A-5D incorporate many of the elements ofFIGS. 3A-3D, however, FIGS. 5A-5D are set forth to illustrate operationsand functions related to the left swipe 116 according to someembodiments discussed herein. In FIG. 5A, the left swipe 116 can be usedto reveal a right status bar 510, which can indicate that an operationor function can be performed if the user continues to perform the leftswipe 116. In FIG. 5B, as the user continues to perform the left swipe116 and the right side of the message 102 passes the option threshold302, an option status bar 512 can be displayed that can include one ormore indicators of the operations that can be performed if the userreleases the left swipe 116. The option threshold 302 and functionthreshold 304 can swap places depending on the direction of the swipe.For example, if the user is performing a left swipe 116, the optionthreshold 302 can be on the right side of the function threshold 304;and if the user is performing a right swipe 114, the option threshold302 can be on the left side of the function threshold 304 (as displayedin FIGS. 3A-3D and 5A-5D, respectively). If the user releases the leftswipe 116 at a point where the right side of the message 102 is betweenthe option threshold 302 and the function threshold 304, the right sideof the message 102 will remain static until the user touches the messageinterface 112 again. In any of the embodiments discussed herein, theoption threshold 302 and function threshold 304 can be moved orotherwise adjusted by a user, together or individually, in order toprovide different thresholds for functions and operations to occur as aresult of a particular swipe. Additionally, the resulting functions andoptions of the left swipe 116 can be performed by a right swipe 114, orvice a versa, based on a user preference, the frequency the userexecutes a particular swipe direction, or the dexterity of the user.

FIG. 5C illustrates an embodiment of the message interface 112 where themessage 102 is in a static position as a result of a swipe.Specifically, FIG. 5C illustrates how multiple options for operationsare displayed as a result of a left swipe 116 that was terminated at apoint when the right side of the message 102 was between the optionthreshold 302 and the function threshold 304. It should be noted that amessage 102 can refer to an icon or other representation of a message102 that is not the actual stored message but rather a symbol of themessage. A user can be provided with an operation list 508 that the usercan choose a single operation from. In some embodiments, the operationlist 508 can include a non-configurable option button 502, a firstconfigurable option button 504, and a second configurable option button506. In some embodiments, more non-configurable and/or configurableoptions can be provided for the user to select from. Additionally, moreor less than three options can be provided to the user to choose from.For example, a left swipe 116 can provide three options while a rightswipe 114 can provide one option. The non-configurable option button502, first configurable option button 504, and second configurableoption button 506 can be any option or function discussed herein, or anyother suitable operation for managing electronic messages. The operationlist 508 can be different for each message account the user has.Therefore, if the user has three message accounts from which the userreceives messages, the operation list 508 can be configured for each ofthe three message accounts. Once the operation list 508 has beentransitioned into a static position by a swipe, the operation list 508can remain static until a user touches the message interface 112 again.The user can also re-touch the message 102 that has been dragged to theleft by the left swipe 116 and continue the left swipe 116 in order toperform a function that has been configured for the left swipe 116.However, the right side of the message 102 must first reach or move pastthe function threshold 304 in order for the function associated with theleft swipe 116 to be executed, as illustrated in FIG. 5C. In FIG. 5C, afunction status bar 514 is displayed when the right side of the message102 reaches or moves past the function threshold 304. Thereafter, thefunction associated with the left swipe 116 can be executed on themessage 102 by the message application 208. It should be noted that anyof the functions associated with the left swipe 116 can also beperformed by the right swipe 114, and vice a versa.

FIG. 6 illustrates a method 600 for operating the message application208 once the user has swiped the message 102 to a position where theuser is provided operation choices, as discussed herein. At step 602,the message application 208 determines that a swipe has caused an end ofthe message 102 to reside between the option threshold 302 and thefunction threshold 304. At step 604, the message application 208determines, in a loop, whether the user has touched the screen or otherdevice button of the mobile device 110. Upon the user touching thescreen or other device button of the mobile device 110, the messageapplication 208, at step 604, determines whether the user touched anoption button 504 (i.e., a button revealed when the user performs a leftswipe 116 or right swipe 114 as discussed herein). If the user hasselected an operation button, the message application 208 can proceed tostep 608 where the message application 208 executes the operationassociated with the operation button (e.g., archiving the message). Ifthe user has not selected on operation button, the message application208 can proceed to step 610 where the message application 208 determineswhether the user touched the message 102 that was previously determinedto have been swiped at step 602. If the user touched the message thatwas previously swiped, the message application 208 can proceed to step612 where the message 102 is caused to return to an original position onthe display, as discussed herein. If the user continues to swipe themessage 102 to perform a full swipe, the function associated with thefull swipe can be performed on the message. Otherwise, the messageapplication 208 can cause the message 102 to return to the originalposition on the display if the user did not select an operation button.In this way, touching any portion of the display outside of theoperation button(s) can act as a cancellation procedure for therespective swipe. It should be noted that the methods and stepsdescribed herein can be modified according to any of the embodimentsdescribed herein, and arranged in any suitable manner or order.

FIG. 7 illustrates a method 700 for displaying a status of a swipe.Specifically, FIG. 7 illustrates the method 700 for notifying the userof particular functions and operations that are available as the userswipes a message across the message interface 112. At step 702, themessage application 208 determines whether a message 102 is being swipedacross the message interface 112. Step 702 is continually performeduntil the message application 208 determines that a message 102 is beingmoved across the message interface 112, and thereafter the messageapplication 208 proceeds to step 704. At step 704, the messageapplication 208 determines how far an end of the message 102 has beenswiped across the message interface 112. This determination can be madeusing any suitable algorithm, such as by calculating the length of theswipe. At step 706, the message application 208 determines whether theend of the message 102 has moved past the option threshold 302 andfunction threshold 304, or whether the length of the swipe is longerthan the option threshold 302 and function threshold 304 as discussedherein. If the message 102 has moved past the option threshold 302 andthe function threshold 304, the message application 208 can cause astatus indicator designated for a function to be displayed at step 708.If the message 102 has not moved past the option threshold 302 and thefunction threshold 304, the message application 208 can, at step 710,determine whether the end of the message 102 has moved only past theoption threshold 302. If the end of the message 102 has moved past orsatisfied the option threshold 302, the message application 208 can, atstep 712, cause a status indicator designated for options to bedisplayed. If the end of the message 102 has not moved past or notsatisfied the option threshold 302, the message application 208 can, atstep 714, display a status indicator designated for a pending swipestatus. Each status indicator discussed herein can be an image, text,animation, or any other suitable notification for putting the user onnotice of the status of the respective swipe being performed.

FIG. 8 is a block diagram of a computing device 800 that can representthe components of the mobile device 110. It will be appreciated that thecomponents, devices or elements illustrated in and described withrespect to FIG. 8 may not be mandatory and thus some may be omitted incertain embodiments. The computing device 800 can include a processor802 that represents a microprocessor, a coprocessor, circuitry and/or acontroller 810 for controlling the overall operation of computing device800. Although illustrated as a single processor, it can be appreciatedthat the processor 802 can include a plurality of processors. Theplurality of processors can be in operative communication with eachother and can be collectively configured to perform one or morefunctionalities of the computing device 800 as described herein. In someembodiments, the processor 802 can be configured to execute instructionsthat can be stored at the computing device 800 and/or that can beotherwise accessible to the processor 802. As such, whether configuredby hardware or by a combination of hardware and software, the processor802 can be capable of performing operations and actions in accordancewith embodiments described herein.

The computing device 800 can also include user input device 804 thatallows a user of the computing device 800 to interact with the computingdevice 800. For example, user input device 804 can take a variety offorms, such as a button, keypad, dial, touch screen, audio inputinterface, visual/image capture input interface, input in the form ofsensor data, etc. Still further, the computing device 800 can include adisplay 808 (screen display) that can be controlled by processor 802 todisplay information to a user. Controller 810 can be used to interfacewith and control different equipment through equipment control bus 812.The computing device 800 can also include a network/bus interface 814that couples to data link 816. Data link 816 can allow the computingdevice 800 to couple to a host computer or to accessory devices. Thedata link 816 can be provided over a wired connection or a wirelessconnection. In the case of a wireless connection, network/bus interface814 can include a wireless transceiver.

The computing device 800 can also include a storage device 818, whichcan have a single disk or a plurality of disks (e.g., hard drives) and astorage management module that manages one or more partitions (alsoreferred to herein as “logical volumes”) within the storage device 818.In some embodiments, the storage device 820 can include flash memory,semiconductor (solid state) memory or the like. Still further, thecomputing device 800 can include Read-Only Memory (ROM) 822 and RandomAccess Memory (RAM) 822 and. The ROM 822 can store programs, code,instructions, utilities or processes to be executed in a non-volatilemanner. The RAM 824 can provide volatile data storage, and storesinstructions related to components of the storage management module thatare configured to carry out the various techniques described herein. Thecomputing device can further include data bus 826. Data bus 826 canfacilitate data and signal transfer between at least processor 802,controller 810, network interface 814, storage device 818, ROM 822, andRAM 824.

The various aspects, embodiments, implementations or features of thedescribed embodiments can be used separately or in any combination.Various aspects of the described embodiments can be implemented bysoftware, hardware or a combination of hardware and software. Thedescribed embodiments can also be embodied as computer readable code ona computer readable medium for controlling manufacturing operations oras computer readable code on a computer readable medium for controllinga manufacturing line. The computer readable medium is any data storagedevice that can store data which can thereafter be read by a computersystem. Examples of the computer readable medium include read-onlymemory, random-access memory, CD-ROMs, HDDs, DVDs, magnetic tape, andoptical data storage devices. The computer readable medium can also bedistributed over network-coupled computer systems so that the computerreadable code is stored and executed in a distributed fashion.

The foregoing description, for purposes of explanation, used specificnomenclature to provide a thorough understanding of the describedembodiments. However, it will be apparent to one skilled in the art thatthe specific details are not required in order to practice the describedembodiments. Thus, the foregoing descriptions of specific embodimentsare presented for purposes of illustration and description. They are notintended to be exhaustive or to limit the described embodiments to theprecise forms disclosed. It will be apparent to one of ordinary skill inthe art that many modifications and variations are possible in view ofthe above teachings.

What is claimed is:
 1. An electronic device, comprising: a display; atouch-sensitive surface; one or more processors; and memory storing oneor more programs configured to be executed by the one or moreprocessors, the one or more programs including instructions for:detecting a swipe gesture at a location on the touch sensitive surfacecorresponding to a message icon of a plurality of message icons, whereinthe message icon is configured to be displaced relative to an originalposition of the message icon in response to swipe gestures; inaccordance with a determination that the swipe gesture is in a firstdirection and a determination that a distance of the swipe gestureexceeds a first threshold, displaying a first set of option iconsadjacent to the displaced message icon; and in accordance with adetermination that the swipe gesture is in a second direction differentfrom the first direction and a determination that the distance of theswipe gesture exceeds a second threshold, displaying a second set ofoption icons adjacent to the displaced message icon.
 2. The electronicdevice of claim 1, further comprising: in accordance with adetermination that the distance of the swipe gesture in the firstdirection exceeds a function threshold greater than the first threshold,performing a first operation on a message corresponding to the messageicon.
 3. The electronic device of claim 1, further comprising: inaccordance with a determination that the distance of the swipe gesturein the second direction exceeds a function threshold greater than thesecond threshold, performing a second operation on a messagecorresponding to the message icon.
 4. The electronic device of claim 3,wherein the second operation is a message organizing function.
 5. Theelectronic device of claim 1, further comprising: in accordance with adetermination that the distance of the swipe gesture in the seconddirection exceeds a function threshold greater than the secondthreshold, replacing display of the second set of option icons with afunction icon corresponding to an option icon of the second set ofoption icons.
 6. The method of claim 5, further comprising: subsequentto replacing display of the second set of option icons with a functionicon corresponding to an option icon of the second set of option icons:in accordance with a determination that the distance of the swipegesture in the second direction is reduced to be below the functionthreshold and in excess of the second threshold, replacing display ofthe function icon with the second set of option icons.
 7. The method ofclaim 1, further comprising: in accordance with a determination that thedistance of the swipe gesture in the second direction is between thesecond threshold and a function threshold: selecting an option icon ofthe second set of option icons, wherein the option icon of the secondset of option icons is associated with an operation on the message; andperforming an operation on a message, wherein the operation on themessage is any one of: mark as unread, move to trash, mark as important,move to another folder, copy to another folder, and forward to arecipient.
 8. A non-transitory computer-readable storage medium storingone or more programs configured to be executed by one or more processorsof an electronic device with a display and a touch-sensitive surface,the one or more programs including instructions for: detecting a swipegesture at a location on the touch sensitive surface corresponding to amessage icon of a plurality of message icons, wherein the message iconis configured to be displaced relative to an original position of themessage icon in response to swipe gestures; in accordance with adetermination that the swipe gesture is in a first direction and adetermination that a distance of the swipe gesture exceeds a firstthreshold: displaying a first set of option icons adjacent to thedisplaced message icon; and in accordance with a determination that theswipe gesture is in a second direction different from the firstdirection and a determination that the distance of the swipe gestureexceeds a second threshold: displaying a second set of option iconsadjacent to the displaced message icon.
 9. The non-transitorycomputer-readable storage medium of claim 8, further comprising: inaccordance with a determination that the distance of the swipe gesturein the first direction exceeds a function threshold greater than thefirst threshold, performing a first operation on a message correspondingto the message icon.
 10. The non-transitory computer-readable storagemedium of claim 8, further comprising: in accordance with adetermination that the distance of the swipe gesture in the seconddirection exceeds a function threshold greater than the secondthreshold, performing a second operation on a message corresponding tothe message icon.
 11. The non-transitory computer-readable storagemedium of claim 10, wherein the second operation is a message organizingfunction.
 12. The non-transitory computer-readable storage medium ofclaim 8, further comprising: in accordance with a determination that thedistance of the swipe gesture in the second direction exceeds a functionthreshold greater than the second threshold, replacing display of thesecond set of option icons with a function icon corresponding to anoption icon of the second set of option icons.
 13. The non-transitorycomputer-readable storage medium of claim 12, further comprising:subsequent to replacing display of the second set of option icons with afunction icon corresponding to an option icon of the second set ofoption icons: in accordance with a determination that the distance ofthe swipe gesture in the second direction is reduced to be below thefunction threshold and in excess of the second threshold, replacingdisplay of the function icon with the second set of option icons. 14.The non-transitory computer-readable storage medium of claim 8, furthercomprising: in accordance with a determination that the distance of theswipe gesture in the second direction is between the second thresholdand a function threshold: selecting an option icon of the second set ofoption icons, wherein the option icon of the second set of option iconsis associated with an operation on the message; and performing anoperation on a message, wherein the operation on the message is any oneof: mark as unread, move to trash, mark as important, move to anotherfolder, copy to another folder, and forward to a recipient.
 15. A methodfor controlling a message application, the method comprising: at anelectronic device with a display and a touch-sensitive surface:detecting a swipe gesture at a location on the touch sensitive surfacecorresponding to a message icon of a plurality of message icons, whereinthe message icon is configured to be displaced relative to an originalposition of the message icon in response to swipe gestures; inaccordance with a determination that the swipe gesture is in a firstdirection and a determination that a distance of the swipe gestureexceeds a first threshold: displaying a first set of option iconsadjacent to the displaced message icon; and in accordance with adetermination that the swipe gesture is in a second direction differentfrom the first direction and a determination that the distance of theswipe gesture exceeds a second threshold: displaying a second set ofoption icons adjacent to the displaced message icon.
 16. The method ofclaim 15, further comprising: in accordance with a determination thatthe distance of the swipe gesture in the first direction exceeds afunction threshold greater than the first threshold, performing a firstoperation on a message corresponding to the message icon.
 17. The methodof claim 15, further comprising: in accordance with a determination thatthe distance of the swipe gesture in the second direction exceeds afunction threshold greater than the second threshold, performing asecond operation on a message corresponding to the message icon.
 18. Themethod of claim 17, wherein the second operation is a message organizingfunction.
 19. The method of claim 15, further comprising: in accordancewith a determination that the distance of the swipe gesture in thesecond direction exceeds a function threshold greater than the secondthreshold, replacing display of the second set of option icons with afunction icon corresponding to an option icon of the second set ofoption icons.
 20. The method of claim 19, further comprising: subsequentto replacing display of the second set of option icons with a functionicon corresponding to an option icon of the second set of option icons:in accordance with a determination that the distance of the swipegesture in the second direction is reduced to be below the functionthreshold and in excess of the second threshold, replacing display ofthe function icon with the second set of option icons.
 21. The method ofclaim 15, further comprising: in accordance with a determination thatthe distance of the swipe gesture in the second direction is between thesecond threshold and a function threshold: selecting an option icon ofthe second set of option icons, wherein the option icon of the secondset of option icons is associated with an operation on the message; andperforming an operation on a message, wherein the operation on themessage is any one of: mark as unread, move to trash, mark as important,move to another folder, copy to another folder, and forward to arecipient.